home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / c / netlib / RCS / Net_StringToAddr.c,v < prev    next >
Encoding:
Text File  |  1992-06-10  |  3.9 KB  |  211 lines

  1. head     1.5;
  2. branch   ;
  3. access   ;
  4. symbols  ;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.5
  10. date     92.06.09.20.53.05;  author jhh;  state Exp;
  11. branches ;
  12. next     1.4;
  13.  
  14. 1.4
  15. date     92.03.02.17.45.28;  author voelker;  state Exp;
  16. branches ;
  17. next     1.3;
  18.  
  19. 1.3
  20. date     90.08.31.15.05.44;  author jhh;  state Exp;
  21. branches ;
  22. next     1.2;
  23.  
  24. 1.2
  25. date     90.06.28.15.18.59;  author jhh;  state Exp;
  26. branches ;
  27. next     1.1;
  28.  
  29. 1.1
  30. date     90.06.09.18.02.23;  author jhh;  state Exp;
  31. branches ;
  32. next     ;
  33.  
  34.  
  35. desc
  36. @@
  37.  
  38.  
  39. 1.5
  40. log
  41. @uses address-specific conversion routines
  42. @
  43. text
  44. @/* 
  45.  * Net_StringToAddr.c --
  46.  *
  47.  *    Convert a string to an address.
  48.  *
  49.  * Copyright 1987 Regents of the University of California
  50.  * All rights reserved.
  51.  * Permission to use, copy, modify, and distribute this
  52.  * software and its documentation for any purpose and without
  53.  * fee is hereby granted, provided that the above copyright
  54.  * notice appear in all copies.  The University of California
  55.  * makes no representations about the suitability of this
  56.  * software for any purpose.  It is provided "as is" without
  57.  * express or implied warranty.
  58.  */
  59.  
  60. #ifndef lint
  61. static char rcsid[] = "$Header: /sprite/src/lib/net/RCS/Net_StringToAddr.c,v 1.4 92/03/02 17:45:28 voelker Exp Locker: jhh $ SPRITE (Berkeley)";
  62. #endif not lint
  63.  
  64.  
  65. #include "sprite.h"
  66. #include "net.h"
  67.  
  68.  
  69.  
  70. /*
  71.  *----------------------------------------------------------------------
  72.  *
  73.  * Net_StringToAddr --
  74.  *
  75.  *    This routine takes a string form of a network address and
  76.  *    converts it to the Net_Address form. The string must be
  77.  *    null-terminated.
  78.  *
  79.  * Results:
  80.  *    Standard Sprite return status.
  81.  *
  82.  * Side effects:
  83.  *    None.
  84.  *
  85.  *----------------------------------------------------------------------
  86.  */
  87.  
  88. ReturnStatus
  89. Net_StringToAddr(buffer, type, addressPtr)
  90.     register char     *buffer;
  91.     Net_AddressType    type;
  92.     Net_Address     *addressPtr;
  93. {
  94.     ReturnStatus    status = SUCCESS;
  95.     int            addr[10];
  96.  
  97.     switch(type) {
  98.     case NET_ADDRESS_ETHER : {
  99.         Net_StringToEtherAddr(buffer, (Net_EtherAddress *) addr);
  100.         break;
  101.     }
  102.     case NET_ADDRESS_ULTRA: {
  103.         Net_StringToUltraAddr(buffer, (Net_UltraAddress *) addr);
  104.         break;
  105.     }
  106.     case NET_ADDRESS_FDDI: {
  107.         Net_StringToFDDIAddr(buffer, (Net_FDDIAddress *) addr);
  108.         break;
  109.     }
  110.     case NET_ADDRESS_INET : {
  111.         addr[0] = Net_StringToInetAddr(buffer);
  112.         break;
  113.     }
  114.     default:
  115.         return FAILURE;
  116.     }
  117.     status = Net_SetAddress(type, (Address) addr, addressPtr); 
  118.     return status;
  119. }
  120. @
  121.  
  122.  
  123. 1.4
  124. log
  125. @added fddi (checked in by jhh)
  126. @
  127. text
  128. @d18 1
  129. a18 1
  130. static char rcsid[] = "$Header: /sprite/src/lib/net/RCS/Net_StringToAddr.c,v 1.3 90/08/31 15:05:44 jhh Exp Locker: voelker $ SPRITE (Berkeley)";
  131. d24 2
  132. d46 1
  133. a46 1
  134. Net_StringToAddr(buffer, protocol, netType, addressPtr)
  135. d48 1
  136. a48 2
  137.     int            protocol;
  138.     Net_NetworkType    netType;
  139. d52 1
  140. d54 7
  141. a60 23
  142.     switch(protocol) {
  143.     case NET_PROTO_RAW : {
  144.         switch(netType) {
  145.         case NET_NETWORK_ETHER:
  146.             Net_StringToEtherAddr(buffer, &addressPtr->ether);
  147.             break;
  148.         case NET_NETWORK_ULTRA: {
  149.             int    group;
  150.             int unit;
  151.             int n;
  152.             n = sscanf(buffer, "%d/%d", &group, &unit);
  153.             if (n != 2) {
  154.             return FAILURE;
  155.             }
  156.             Net_UltraAddressSet(&addressPtr->ultra, group, unit);
  157.             break;
  158.         }
  159.         case NET_NETWORK_FDDI:
  160.             Net_StringToEtherAddr(buffer, &addressPtr->fddi);
  161.             break;
  162.         default:
  163.             return FAILURE;
  164.         }
  165. d63 2
  166. a64 2
  167.     case NET_PROTO_INET : {
  168.         addressPtr->inet = Net_StringToInetAddr(buffer);
  169. d67 6
  170. d74 1
  171. a76 1
  172.  
  173. @
  174.  
  175.  
  176. 1.3
  177. log
  178. @new ultra address format
  179. @
  180. text
  181. @d18 1
  182. a18 1
  183. static char rcsid[] = "$Header: /sprite/src/lib/net/RCS/Net_StringToAddr.c,v 1.2 90/06/28 15:18:59 jhh Exp Locker: jhh $ SPRITE (Berkeley)";
  184. d69 3
  185. @
  186.  
  187.  
  188. 1.2
  189. log
  190. @fixed a typo
  191. @
  192. text
  193. @d18 1
  194. a18 1
  195. static char rcsid[] = "$Header: /sprite/src/lib/net/RCS/Net_StringToEtherAddr.c,v 1.2 88/11/21 09:28:33 mendel Exp $ SPRITE (Berkeley)";
  196. d66 1
  197. a66 2
  198.             addressPtr->ultra.group = group;
  199.             addressPtr->ultra.unit = unit;
  200. @
  201.  
  202.  
  203. 1.1
  204. log
  205. @Initial revision
  206. @
  207. text
  208. @d68 1
  209. d73 2
  210. @
  211.